home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / Developer Essentials Jul 90 / Programming / MPW Interfaces & Libraries 3.1 / AIncludes / Sound.a < prev    next >
Encoding:
Text File  |  1989-10-13  |  2.7 KB  |  104 lines  |  [TEXT/MPS ]

  1. ; Version: 1.04
  2. ; Created: Wednesday, October 26, 1988 at 11:57:17 PM
  3. ;
  4. ; File: Sound.a
  5. ;
  6. ; Assembler Interface to the Macintosh Libraries
  7. ; Copyright Apple Computer, Inc. 1986-1988
  8. ; All Rights Reserved
  9. ;
  10. ;--------------------------------------------------------------------
  11.  
  12.  
  13. ;Command Numbers
  14.  
  15. nullCmd         EQU         0
  16. initCmd         EQU         1
  17. freeCmd         EQU         2
  18. quietCmd        EQU         3
  19. flushCmd        EQU         4
  20. waitCmd         EQU         10
  21. pauseCmd        EQU         11
  22. resumeCmd        EQU         12
  23. callBackCmd     EQU         13
  24. syncCmd         EQU         14
  25. emptyCmd        EQU         15
  26. tickleCmd        EQU         20
  27. requestNextCmd    EQU         21
  28. howOftenCmd     EQU         22
  29. wakeUpCmd        EQU         23
  30. availableCmd    EQU         24
  31. versionCmd        EQU         25
  32. noteCmd         EQU         40
  33. restCmd         EQU         41
  34. freqCmd         EQU         42
  35. ampCmd            EQU         43
  36. timbreCmd        EQU         44
  37. waveTableCmd    EQU         60
  38. phaseCmd        EQU         61
  39. soundCmd        EQU         80
  40. bufferCmd        EQU         81
  41. rateCmd         EQU         82
  42. midiDataCmd     EQU         100
  43. stdQLength        EQU         128
  44.  
  45. ; Wave Table Synthesizer
  46. initChanLeft    EQU         $02                     ;left stereo channel
  47. initChanRight    EQU         $03                     ;right stereo channel
  48. initChan0        EQU         $04                     ;channel 0 - wave table only
  49. initChan1        EQU         $05                     ;channel 1 - wave table only
  50. initChan2        EQU         $06                     ;channel 2 - wave table only
  51. initChan3        EQU         $07                     ;channel 3 - wave table only
  52. initSRate22k    EQU         $20                     ;22k sampling rate
  53. initSRate44k    EQU         $30                     ;44k sampling rate
  54. initMono        EQU         $80                     ;monophonic channel
  55. initStereo        EQU         $C0                     ;stereo channel
  56.  
  57.  
  58. SndCommand        RECORD        0
  59. cmd             DS.W        1                        ;INTEGER
  60. param1            DS.W        1                        ;INTEGER
  61. param2            DS.L        1                        ;LONGINT
  62. sndCSize        EQU         *                        ;size of SndCommand
  63.                 ENDR
  64.  
  65. ModifierStub    RECORD        0
  66. nextStub        DS.L        1                        ;^ModifierStub
  67. code            DS.L        1                        ;ProcPtr
  68. userInfo        DS.L        1                        ;LONGINT
  69. count            DS.L        1                        ;Time [LONGINT]
  70. every            DS.L        1                        ;Time [LONGINT]
  71. flags            DS.B        1
  72. hState            DS.B        1
  73. mStbSize        EQU         *                        ;size of ModifierStub
  74.                 ENDR
  75.  
  76.  
  77. SndChannel        RECORD        0
  78. nextChan        DS.L        1                        ;^SndChannel
  79. firstMod        DS.L        1                        ;^ModifierStub
  80. callBack        DS.L        1                        ;ProcPtr
  81. userInfo        DS.L        1                        ;Ptr
  82.  
  83. ;The following is for internal Sound Manager use only.
  84.  
  85. wait            DS.L        1                        ;Time [LONGINT]
  86. cmdInProgress    DS            SndCommand                ;
  87. flags            DS.W        1                        ;INTEGER
  88. qLength         DS.W        1                        ;INTEGER
  89. qHead            DS.W        1                        ;INTEGER
  90. qTail            DS.W        1                        ;INTEGER
  91. queue            DS            128*SndCommand.sndCSize   ; ARRAY [0..StdQLength-1] OF SndCommand
  92. sndChSize        EQU         *                        ;size of SndChannel
  93.                 ENDR
  94.  
  95. SoundHeader     RECORD        0
  96. samplePtr        DS.L        1                        ;Ptr - if NIL then samples are in sampleArea
  97. length            DS.L        1                        ;LONGINT
  98. sampleRate        DS.L        1                        ;Fixed
  99. loopStart        DS.L        1                        ;LONGINT
  100. loopEnd         DS.L        1                        ;LONGINT
  101. baseNote        DS.W        1                        ;INTEGER
  102. ;sampleArea DS.B 1 ;PACKED ARRAY [0..0] OF Byte; -- not included, but logically here
  103.                 ENDR
  104.